﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;

namespace BibliotecaProjeto.endereco
{
    public class DadosEndereco: persistencia.ConexaoSqlServer
    {
         #region Atributos
        private string instSql;
        #endregion

        #region Construtores
        /// <summary>
        /// Construtor da Classe
        /// </summary>
        #endregion
        public DadosEndereco() { }

        #region Métodos
        #region conexão com select
        public List<Endereco> selectEndereco()
        {
            List<Endereco> retorno = new List<Endereco>();
            try
            {
               abrirConexao();
                SqlCommand cmd = new SqlCommand("SELECT cep, rua, numero, complemento, bairro, cidade, uf, país FROM endereco ", conBD);
                SqlDataReader DbReader = cmd.ExecuteReader();

                while (DbReader.Read())
                {
                    Endereco e = new Endereco();
                    e.cep = DbReader.GetString(DbReader.GetOrdinal("cep"));
                    e.rua = DbReader.GetString(DbReader.GetOrdinal("rua"));
                    e.numero = DbReader.GetString(DbReader.GetOrdinal("numero"));
                    e.complemento = DbReader.GetString(DbReader.GetOrdinal("complemento"));
                    e.bairro = DbReader.GetString(DbReader.GetOrdinal("bairro"));
                    e.cidade = DbReader.GetString(DbReader.GetOrdinal("cidade"));
                    e.uf = DbReader.GetString(DbReader.GetOrdinal("uf"));
                    e.país = DbReader.GetString(DbReader.GetOrdinal("pais"));
                    retorno.Add(e);
                }

                DbReader.Close();
                cmd.Dispose();
                fecharConexao();;
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao conectar e selecionar " + ex.Message);
            }
            return retorno;
        }
        #endregion


        public void cadastrar(Endereco endereco)
        {
            try
            {
               abrirConexao();
                instSql = "insert into endereco (cep,rua,numero,complemento,bairro,cidade,uf,país) values ('" + endereco.cep + "','" + endereco.rua + "', '" + endereco.numero + "', '" + endereco.complemento + "', '" + endereco.bairro + "', '" + endereco.cidade + "', '" + endereco.uf + "', '" + endereco.país + "');";
                fecharConexao();;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public void atualizar(Endereco endereco)
        {
            try
            {
               abrirConexao();
                instSql = "update endereco set cep = '" + endereco.cep + "', rua = '" + endereco.rua + "', numero = '" + endereco.numero + "', complemento = '" + endereco.complemento + "', bairro = '" + endereco.bairro + "', cidade = '" + endereco.cidade + "', uf = '" + endereco.uf + "', país = '" + endereco.país + "', where cep = '" + endereco.cep + "'";
                fecharConexao();;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public void remover(Endereco endereco)
        {
            try
            {
               abrirConexao();
                instSql = "delete from endereco where cep = '" + endereco.cep + "'";
                fecharConexao();;
            }
            catch (Exception ex)
            {
                throw (ex);
            }
        }

        #endregion
    }
}
